package com.youxin.busfoundation.enums;

import com.youxin.busfoundation.bean.recommend.CustomizerBeanVersion1;

/**
 * 定制器搜索结构版本
 * @author yingde.cao
 *
 */
public enum CustomizerVersionType {	
	/**
	 * 智能推荐版本支持,后期升级如果只是增加字段,不需要增加版本.如果是字段结构发生变化,需要添加版本
	 */
	Version1(1,CustomizerBeanVersion1.class.getName())
	;

	public int getValue() {
		return value;
	}
	
	private String name;	
	private int value;
	private CustomizerVersionType(int value,String name) {
		this.value = value;
		this.name=name;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setValue(int value) {
		this.value = value;
	}
	
	public static CustomizerVersionType valueOf(int val)
	{			
		for(CustomizerVersionType m : CustomizerVersionType.values()) 
		{
			if(val==m.getValue())
				return m;
	    }
		return CustomizerVersionType.Version1;
	}
	
	/**
	 * 根据值获取序列化的数据
	 * @param val
	 * @return
	 */
	public static Class<?> getClassValueOf(int val){
		try {
			CustomizerVersionType type=valueOf(val);
			return Class.forName(type.getName());
		} catch (Exception e) {
			return CustomizerBeanVersion1.class;
		}		
	}
	
	public static String stringValue(Integer val)
	{
		if(val==null)
		{
			return "";
		}
		CustomizerVersionType status=valueOf(val);
		if(status==null)
		{
			return "";
		}
		return status.getName();
	}
	
}
